//使用类对象创建线程
#include<iostream>
#include<thread>
using namespace std;

class Test {
public:
    Test(){
        cout << "Test()构造函数被执行" << endl;
    }
    Test(const Test& test) {
        cout << "拷贝构造函数执行" << endl;
    }
    ~Test() {
        cout << "析构函数执行" << endl;
    }
    void operator()(int x) {
        cout << "线程开始执行" << endl;
        for (int i = 0; i < 10; ++i);
        cout << "线程执行完毕" << endl;
    }
};

int main() {
    Test test;
    thread th(test,10);
    thread th2(Test(),10);
    //th.detach();
    th.join();
    for (int i = 0; i < 10; ++i) {
        cout << "主线程执行完毕" << i << endl;
    }
    return 0;
}
/* ————————————————
版权声明：本文为CSDN博主「LeetCode刷题记录」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
原文链接：https://blog.csdn.net/qq_42147969/article/details/118325905 */